home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Tool Chest / Dev.CD Aug 98 TC.toast / Tool Chest / Testing & Debugging / Virtual User / Virtual User Current Release / Examples / Example External Tools / ProcessTool / ProcessServices.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-04  |  3.6 KB  |  101 lines  |  [TEXT/MPS ]

  1. #ifndef __ProcessServices__
  2. #define __ProcessServices__
  3.  
  4. #ifndef        __Service__
  5. #include        "Service.h"
  6. #endif        __Service__
  7.  
  8.  
  9. // Special error codes for errors that don't otherwise have codes:
  10. enum
  11. {
  12.     extractAddrErr    = 1,
  13.     validateAddrErr,
  14.     noProcessMgrErr,
  15.     noSuchProcessErr
  16. };
  17.  
  18. //—————————————————————————————————————————————————————————————————————————————————————
  19. //    ProcessServices class - base class for implementing several Process services for V.U.
  20. //—————————————————————————————————————————————————————————————————————————————————————
  21. class ProcessServices : public Service
  22. {
  23. protected:
  24.                     ProcessServices( char* pSrvName    );    // constructor passes name to Service
  25.         OSErr        CheckForProcessMgr();
  26.         void        ProcessName2cstr( char* processName );
  27.         OSErr        GetNamedProcessInfo( char* pProcessName, ProcessInfoRec* pInfoPtr );
  28.         OSErr        ExtractAddr( ScriptValue* pAddrItem, unsigned long* pAddrPtr );
  29.         OSErr        ValidateAddr( unsigned long pAddr );
  30. };
  31.  
  32.  
  33. //—————————————————————————————————————————————————————————————————————————————————————
  34. //    ProcessNamesListService class - derived class gets all names of all active processes
  35. //—————————————————————————————————————————————————————————————————————————————————————
  36. class ProcessNamesListService : public ProcessServices
  37. {
  38. public:
  39.                     ProcessNamesListService();                // constructor
  40. virtual OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  41. };
  42.  
  43.  
  44. //—————————————————————————————————————————————————————————————————————————————————————
  45. //    FrontProcessNameService - derived class gets name of front process
  46. //—————————————————————————————————————————————————————————————————————————————————————
  47. class FrontProcessNameService : public ProcessServices
  48. {
  49. public:
  50.                     FrontProcessNameService();                // constructor
  51. virtual OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  52. };
  53.  
  54.  
  55. //—————————————————————————————————————————————————————————————————————————————————————
  56. //—————————————————————————————————————————————————————————————————————————————————————
  57. //    PartitionSizeService class - derived class to get partition size of named process
  58. //—————————————————————————————————————————————————————————————————————————————————————
  59. class PartitionSizeService : public ProcessServices
  60. {
  61. public:
  62.                     PartitionSizeService();                    // constructor
  63. virtual    OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  64. };
  65.  
  66.  
  67. //—————————————————————————————————————————————————————————————————————————————————————
  68. //    FreeMemService class - derived class to get free memory in named process's heap
  69. //—————————————————————————————————————————————————————————————————————————————————————
  70. class FreeMemService : public ProcessServices
  71. {
  72. public:
  73.                     FreeMemService();                        // constructor
  74. virtual    OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  75. };
  76.  
  77.  
  78. //—————————————————————————————————————————————————————————————————————————————————————
  79. //    ReadByteService class - derived class to read a byte from RAM or ROM
  80. //—————————————————————————————————————————————————————————————————————————————————————
  81. class ReadByteService : public ProcessServices
  82. {
  83. public:
  84.                     ReadByteService();                        // constructor
  85. virtual    OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  86. };
  87.  
  88.  
  89. //—————————————————————————————————————————————————————————————————————————————————————
  90. //    ReadBlockService class - derived class to get read a block of bytes from RAM or ROM
  91. //—————————————————————————————————————————————————————————————————————————————————————
  92. class ReadBlockService : public ProcessServices
  93. {
  94. public:
  95.                     ReadBlockService();                        // constructor
  96. virtual    OSErr        ProcessRequest( Request* pReq );    // Implements the Request
  97. };
  98.  
  99.  
  100. #endif __ProcessServices__
  101.